package com.learn.security.core.validate.code;

import org.springframework.web.context.request.ServletWebRequest;

/**
 * 校验码处理器，封装不同校验码的处理逻辑
 */
public interface ValidateCodeProcessor {

    /**
     *  校验码放入session时的前缀
     */
    String SESSION_KEY_PREFIX = "SESSION_KEY_FOR_CODE_";

    /**
     * 创建校验码
     * @param servletWebRequest ServletWebRequest工具类（包装类）：封装请求和响应对象
     */
    void create(ServletWebRequest servletWebRequest) throws Exception;


    /**
     * 校验验证码
     * @param servletWebRequest ServletWebRequest工具类（包装类）：封装请求和响应对象
     */
    void validate(ServletWebRequest servletWebRequest);
}
